home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_12_03 / kamradt / manage.h < prev    next >
C/C++ Source or Header  |  1994-02-07  |  516b  |  29 lines

  1. class BadString {
  2. public:
  3. // Using the pointer directly:
  4.   BadString(char *s) { ptr = s; }
  5. // Where did pointer come from:
  6.   ~BadString() { delete[] ptr; }
  7. private:
  8.   char *ptr;
  9. };
  10.  
  11. char *strdup(const char *str) 
  12.   return strcpy(new 
  13.     char[strlen(str)+1],str); 
  14. }
  15.  
  16. class GoodString {
  17. public:
  18. // Don't use the pointer, copy it:
  19.   GoodString(const char *s) 
  20.     { ptr = strdup(s); }
  21. // Now you can safely delete it:
  22.   ~GoodString() 
  23.     { delete[] ptr; }   
  24. private:
  25.   char *ptr;
  26. };
  27.  
  28.